Abandoned buildings in Taiwan

As our trusty spam king Phil Clevberger stumbled upon, these are some pretty amazing looking abandoned buildings in Taiwan.

The story goes that in the late 1970s a contemporary style holiday resort was commissioned using this UFO style prototype, however during the energy crisis in 1980 the project was abandoned mid-build. Located in a town near Taipei, the Government has ordered the ruined shells be dismantled. 

 

 

See this Flickr site for the full gallery:

http://www.flickr.com/photos/cypherone/sets/72157600694356865/

Posted on 3/30/2009 1:09:00 PM by KristinaReddaway

Permalink | Comments (2) | Post RSSRSS comment feed |

Categories: Creativity

Tags:

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 

[March] First cab off the rank - Chris Martin!

Taking out the first Farmer of the Month award is flash developer, Chris Martin. 

Why?

- Multi-discipline talent

- No fuss team approach to projects

- AND even when his birthday is forgotten & he’s mistakingly not acknowledged as a core contributing member of the team for a major site launch – he can rise above it!

- Oh yes, AND making the web pretty, so pretty...

Congrats Chris!

Posted on 3/30/2009 11:28:00 AM by KristinaReddaway

Permalink | Comments (0) | Post RSSRSS comment feed |

Categories: Farmer of the Month

Tags:

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 

MEDIA RELEASE FOR IMMEDIATE USE Camp Quality Launches Bubbles of Sunshine Online

                                                                                                                                                                             

Camp Quality, one of Australia’s top five most trusted charities, in partnership with leading digital agency, TheFARM, proudly announce the launch of their brand new official website - www.campquality.org.au 

Promoting a spirit of hope, belonging and support while exuding optimism and fun, Camp Quality’s engaging new website forms an integral part of its ongoing commitment to bringing hope and happiness to children living with cancer and their families.  

Camp Quality’s new website is a vibrant, immersive and highly engaging way to interact with the Camp Quality family online - anytime, anywhere. Offering something for everyone, children, families, volunteers and sponsors alike can readily interact with the website through CQ TV - where they can see the McDonald’s Camp Quality puppets in action, meet Giggle and see how great camp really is. A key feature of the new site is the opportunity for CQ fundraisers to create their own fundraising pages, with online fundraising and funds tally.  

Other interactive features delivered across multiple touch points are the CQ jukebox with uplifting songs, regionally specific dynamic content, testimonials, real life stories, expert information and advice, image, video and message sharing and randomly triggered bubbles of sunshine.                                                            

“At Camp Quality fun therapy flows through everything we do and our new website embodies this philosophy. There is CQTV which can take you right to the heart of our programs and information while providing access to your local office and plenty of jokes to keep you laughing and optimistic. Our redesigned site puts people front and centre. It introduces our Local CQ staff and gives our families the opportunity to stay connected with their friends at Camp Quality. Even children in hospital or in remote areas can log on and still feel part of the Camp Quality family because, as we say, laughter is the best medicine.” says Simon Rountree, Camp Quality’s CEO. 

“Consumer engagement and creating positive experiences are always integral to any website we design and build but they are of particular importance in Camp Quality’s case. The new website is a channel by which Camp Quality can open their arms wider than ever and provide 24/7 support and messages of happiness to people who truly need it,” said Chris Pile, Managing Director of TheFARM.   

“We are particularly proud of the new Camp Quality website and it is one of the best and most compelling charity websites I have seen in a long time,” added Chris. 

Be sure to log onto www.campquality.org.au to join in the fun of bubbles of sunshine online. 

ENDS 

For further information, high resolution images and/or to arrange an interview opportunity, please contact:

Katy Denis

TheFARM PR Manager

M: 0414 388 879

E: kt@ktgcreative.com.au

Posted on 3/27/2009 1:15:00 PM by KatyDenis

Permalink | Comments (9) | Post RSSRSS comment feed |

Categories: Project Releases

Tags: , , , , ,

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 

HOT PRESS 27.3.09

Just launched: www.iphorest.com the iPhone app developed by Ecolife that allows you to plant both a real and a virtual tree.

MTV launches ‘Yes, Yes, Yes – To Safe Sex’ - the latest in its HIV/AIDs awareness campaigns through a partnership with the Body Shop, including selling a limited edition lip butter to raise funds for MTV’s Staying Alive Foundation - www.yestosafesex.com

As part of Mother London’s campaign promoting Stella Artois’ new 4% strength lager, they've created the ‘Smooth Originals’ - a series of short films which spoof contemporary US TV shows and movies, but in the style of cult French directors such as Jean-Luc Godard, etc - www.smoothoriginals.com

Posted on 3/27/2009 10:50:00 AM by KatyDenis

Permalink | Comments (8) | Post RSSRSS comment feed |

Categories: Hot Press

Tags: , , , , , ,

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 

Super easy jQuery events

I've been using jQuery for a while but haven't really been using it much in the form of building custom classes or libraries. I've been working on re-developing Umbraco's JavaScript tree using jsTree (which is great by the way!) and have been writing a JavaScript library to support it. As with most code libraries, events play an important role in writing clean and effective code. In the past I've always used simple callback methods for "event handling" in JavaScript, but this isn't really an event system since it doesn't allow more than one subscriber. After some quick research, jQuery has this all built into the core, and by adding a couple very simple methods to your JavaScript classes, they will instantly support an event model!

Quick example: 

var myObject = { 
  addEventHandler: function(fnName, fn) {
    $(this).bind(fnName, fn);
  },
  removeEventHandler: function(fnName, fn) {
    $(this).unbind(fnName, fn);
  },
  doSomething: function() {
    $.event.trigger("somethingHappening", [this, "myEventArgs"]);
  }
}

The above example is an object defining 2 functions to manage it's event model and another method which raises an event called "somethingHappened" with an array of arguments that will get bubbled to the event handlers.

To subscribe to the events is easy:

function onSomethingHappening(EV, args) {
  alert("something happened!");
  alert("sender: " + args[0]);
  alert("e: " + args[1]);
}
//subscribe to the event:
myObject.addEventHandler("somethingHappening", onSomethingHappening);

You'll notice that the above event handler function has 2 arguments, one called "EV" and one called "args". The EV parameters is the jQuery event object and the second one is the custom arguments object that was created when raising the event.

Since Umbraco's admin section uses an iframe approach, i though that managing events between the iframes would be an issue since they are all using seperate jQuery instantiations, but by raising and consuming events with the above method, this is no problem.


Posted on 3/26/2009 12:08:00 AM by Shannon Deminick

Permalink | Comments (0) | Post RSSRSS comment feed |

Categories: Technology

Tags: , ,

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 

HOT PRESS 20.3.09

Have a look at what happened when some geeks hooked up a radio control car to their Blackberry Storm and navigated it around an elaborate office track. McLaren got wind, and invited them to do it with a genuine F1 car, with Lewis Hamilton at the helm. Turns out it's a Vodafone ad that’s now pushing a million views. www.youtube.com/watch?v=FiLoANg6nNY  

The days of rushing round the garden to find a sadly melted and slightly disfigured Easter Egg could be numbered thanks to a highly addictive online Easter Egg hunt. M&Ms Speck-tacular Eggs encourages mums as well as young children to ‘Join the Hunt’ at www.jointhehunt.ca. The campaign is supported through commercials, on pack promotions and via banner ads.



 

Posted on 3/20/2009 5:42:00 PM by KatyDenis

Permalink | Comments (10) | Post RSSRSS comment feed |

Categories: Hot Press

Tags: , , , , , , , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 

HOT PRESS 13.3.09

If you’re overexcited about the new Watchmen film you should also try this new iPhone / iPod touch game http://watchmenjusticeiscoming.com. Create your own Watchman, do battle and chat with other fans.

Goodby, Silverstein & Partners, San Francisco, has just launched the beautifully animated www.comcasttown.com, positioning the brand as a doorway to a world of imagination.

In collaboration with Topps, makers of confectionery and trading cards, Total Immersion has created a new series of 3D Live baseball cards which put superstar players in the palm of your hand. Like any other augmented reality (AR) initiative, users need simply to hold the card in front of a conventional webcam, at which point a fully 3D rendering of the featured player appears. However, using a simple online interface, users can then drop the player straight into a selection of simple practice games. I suggest (no, insist) that you check out the video below (courtesy of CrunchGear.com) to see exactly how this looks.

http://www.youtube.com/watch?v=QAjEGqGnpFI

For more extraordinary augmented reality from Total Immersion, check out the link below for a demo.

http://tiny.cc/KkRWx

Posted on 3/13/2009 4:21:00 PM by KatyDenis

Permalink | Comments (6) | Post RSSRSS comment feed |

Categories: Hot Press

Tags: , , , , , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 

HOT PRESS 6.3.09

Sony has launched a user-generated competition for the launch of the PSP 3000. Make a video showing your whole world in your hands for a chance to win: www.youtube.com/yourwholeworld

Music industry stalwart Fatboy Slim has taken an intriguing route to promote his new band, The Brighton Port Authority. Silence, the agency behind the banner campaign, will be paid depending on how many times people roll over the banner ads promoting the new single. Silence believes the cost per engagement, where advertisers pay for results, will become increasingly prominent. www.silencelondon.com

Indie ad shop Red Tettemer has teamed up with Tween Brands (a retailer with more than 900 stores worldwide) to create a virtual world for youngsters. The world, ScapeNation (www.scapenation.com), went live last week and more than 60,000 “tweens” have signed up. The 7-14 year-old “Scapers” have been asked to save this virtual world from an evil villain, “Darkness.” Stores will roll out trading cards and gift cards in the coming weeks.

Posted on 3/6/2009 4:12:00 PM by KatyDenis

Permalink | Comments (7) | Post RSSRSS comment feed |

Categories: Hot Press

Tags: , , , , , , , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 

Selection Problem with Custom Media Type Content in Umbraco 4

The Problem

You have a custom media type. You want to add a link to it in the WYSIWYG editor. 

You go to add a link as normal, except in the "Insert/Edit Link" pop up, you click on the "Media" tab. You notice that when you click on it, no url is inserted in the Url field. 

 

The problem is due to this method in the Umbraco source:

        private static string findMediaLink(Media dd, string nodeLink)
        {
            Guid uploadGuid = new Guid("5032a6e6-69e3-491d-bb28-cd31cd11086c");
            foreach (Property p in dd.getProperties)
            {
                if (p.PropertyType.DataTypeDefinition.DataType.Id == uploadGuid && !String.IsNullOrEmpty(p.Value.ToString()))
                {
                    return p.Value.ToString();
                }
            }
            return "";
        }

 

This method is called from the overrided Render(ref XmlTree tree) method in Umbraco's loadMedia class. Here is the code block:

        string nodeLink = findMediaLink(dd, dd.Id.ToString());
        if (!String.IsNullOrEmpty(nodeLink))
        {
            xNode.Action = "javascript:openMedia('" + nodeLink + "');";
        }
        else
        {
            xNode.Action = null;
            xNode.DimNode();
         }

 

Notice that when findMediaLink() is called, your custom media type is never going to return  "5032a6e6-69e3-491d-bb28-cd31cd11086c" as a Guid. So your media type never gets assiged it's openMedia action, and xNode.DimNode() will always be called.

 

The Work Around

You must replace the Umbraco media tree handler with your own one. We called ours "MediaTree".

Here's how:

  • Create a class (eg. MediaTree) that inherits from loadMedia (see code below)
  • Copy and paste the Render(ref XmlTree tree), and findMediaLink(Media dd, string nodeLink) methods from loadMedia.cs into your new class
  • Modify the findMediaLink(Media dd, string nodeLink) method to get the Guid from your custom media type, and check if it is equal to p.PropertyType.DataTypeDefinition.DataType.Id (see code below)

 

Here's the class:

    public class MediaTree : loadMedia
    {

        public MediaTree(string application) : base(application) { }

        public override void Render(ref XmlTree tree)
        {
            Media[] docs;

            if (m_id == -1)
                docs = Media.GetRootMedias();
            else
                docs = new Media(m_id).Children;

            foreach (Media dd in docs)
            {
                XmlTreeNode xNode = XmlTreeNode.Create(this);
                xNode.NodeID = dd.Id.ToString();
                xNode.Text = dd.Text;

                // Check for dialog behaviour
                if (!this.IsDialog)
                {
                    if (!this.ShowContextMenu)
                        xNode.Menu = null;
                    xNode.Action = "javascript:openMedia(" + dd.Id + ");";
                }
                else
                {
                    if (this.ShowContextMenu)
                        xNode.Menu = new List<IAction>(new IAction[] { ActionRefresh.Instance });
                    else
                        xNode.Menu = null;
                    if (this.DialogMode == TreeDialogModes.fulllink)
                    {
                        string nodeLink = findMediaLink(dd, dd.Id.ToString());
                        if (!String.IsNullOrEmpty(nodeLink))
                        {
                            xNode.Action = "javascript:openMedia('" + nodeLink + "');";
                        }
                        else
                        {
                            xNode.Action = null;
                            xNode.DimNode();
                        }
                    }
                    else
                    {
                        xNode.Action = "javascript:openMedia('" + dd.Id.ToString() + "');";
                    }
                }
                xNode.HasChildren = dd.HasChildren;

                if (this.IsDialog)
                    xNode.Source = GetTreeDialogUrl(dd.Id);
                else
                    xNode.Source = GetTreeServiceUrl(dd.Id);

                if (dd.ContentType != null)
                {
                    xNode.Icon = dd.ContentType.IconUrl;
                    xNode.OpenIcon = dd.ContentType.IconUrl;
                }

                tree.Add(xNode);
            }
        }

        private static string findMediaLink(Media dd, string nodeLink)
        {
            TheFarm.Umbraco.Controls.MultiMediaUploadDT mmDT = new TheFarm.Umbraco.Controls.MultiMediaUploadDT();
            Guid farmUpload = mmDT.Id;

            Guid uploadGuid = new Guid("5032a6e6-69e3-491d-bb28-cd31cd11086c");
            foreach (Property p in dd.getProperties)
            {
                if ((p.PropertyType.DataTypeDefinition.DataType.Id == uploadGuid || p.PropertyType.DataTypeDefinition.DataType.Id == farmUpload) && !String.IsNullOrEmpty(p.Value.ToString()))
                {
                    return p.Value.ToString();
                }
            }
            return "";
        }

    }

 

 

Note: For this to work your custom media class must contain a Guid.

eg.

        public override Guid Id
        {
            get { return new Guid("{12345678-ABCD-EFGH-IJKLM-NOPQRSTUVWX}"); }
        }

 

Now go to the database and edit the umbracoAppTree table.

UPDATE umbracoAppTree
SET treeHandlerAssembly = '<your assembly>',
treeHandlerType = 'Umbraco.MediaTree' /* We called ours MediaTree */
WHERE treeAlias LIKE 'media'

 

That's it.

 

 

 

Posted on 3/4/2009 7:41:00 PM by AnthonyDang

Permalink | Comments (2) | Post RSSRSS comment feed |

Categories: Technology

Tags: , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 
Copywrite © 2008 The Farm Digital