Skip to main content

Posts

Showing posts with the label Code

Local Testing OAuth Social Signin

On some recent Grails projects, I have been looking at using the Twitter and Facebook OAuth signin process. This process allows you to authenticate users based on their Twitter/Facebook logins, without the need for the user to expose their passwords to your site. When you create your 'application' within Twitter or Facebook, it is necessary to define the URL where the application can be accessed. Twitter and Facebook will only redirect to this URL during the authentication process. I have tested running some applications on Heroku or Appfog , with Twitter and Facebook happy to redirect to the appropriate URLs with successful authentication. However, when testing locally, I follow these steps to work through the authentication process. 1. App Context Ensure that the Grails app context is '/' - as the application is generally deployed this way on Heroku/Appfog: Config.groovy grails.app.context = '/' 2. Port Binding: While the local application w...

Deploying With Git

I have the mis fortune to work on a number of PHP based web applications at work. Previously, the deployment process involved determining which files had changed since the last release and copying them across to the server. Needless to say, this was an error-prone and inefficient way of deploying updates. Gitobots, Roll Out We use Git for our version control and, with Heroku's push to deploy  in mind, I looked further into the possibilities of using Git for our deployment process. Abhijit Menon-Sen's article details the process very well. With a few slight variations, these are the steps I follow to deploy changes via Git. Prime Remote On the remote server for your application (e.g. production, staging or test), create a new, bare Git repository for your codebase: cd /cygdrive/c/repo mkdir project.git cd project.git git --bare init Hooks As this bare repository does not contain a working tree (the actual source), a Git hook is used to checkout the code t...

If This, Then What?

Imagine that you could combine services (internet and otherwise) together like Lego blocks to create new, personalised services. If This, Then That ( ifttt )  is a new service that allows you to do just that. Through an intuitive interface  ifttt  puts the power of " Event Driven Programming " at your fingertips, letting you connect services with digital duct tape . Event driven programming can be simply broken into two stages - event selection/detection followed by event handling.  ifttt  terms these stages as triggers and tasks and provides a comprehensive list of services that you can target as a trigger or task, from Facebook and Twitter through to Google calendar events. For example, it is possible to build a service that will send a text to your mobile phone (task) if the weather service has forecast rain for the following day (trigger). The mechanism for building such a service is so simple and straight-forward that no programming knowle...

Brain Error: No space left on device

I'm not dumb. I just have a command of thoroughly useless information. Calvin - It's a Magical World, Bill Waterson Wired's June 2008 edition included an article entitled ' Quiet Please : how Man-made noises may be altering Earth's ecology'. The article focused on the theory put forward by Bernie Krause , a field recording scientist, that nature's soundtrack (biophony) is being adversely affected by a louder human-made cacophony (anthrophony). Krause postulates that the animal kingdom divides the acoustic spectrum so it's inhabitants do not interfere with each other. However, human-made noise is increasingly disrupting this harmony and intrudes on a piece of the spectrum already in use - drowning out natures voice. As an example, Krause summizes that the rapidly declining population of the Yosemite spadefoot toad is due to the noise generated from low-flying military aircraft, performing training exercises in the area. Coyotes and owls are able to home ...

Coding Cults & Internet Gods

Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke Its been talked about before , but while reading the ' The God Delusion ' by Richard Dawkins (and no he doesn't Twitter !), the meme of the Cargo Cult once again caught my attention. Cargo Cult: Waiting for Frum Anthropologists have observed the phenomenon of island inhabitants (most famously of Pacific Melanesia and New Guinea) mimicking and performing rituals of visiting advanced cultures in the belief that these acts will provide them with material goods and wealth. This phenomenon is known as a Cargo Cult . The islanders observed that the visiting people enjoyed great luxuries, with seemingly little or no useful work required in return - they sat behind desks while new or repaired items appeared on the island as if by magic. In one instance, on the island of Tanna in the New Hebrides (now known as Vanuata), the islanders awaited the return the messianic Mr John Frum who would bear ...

Let your Confluence Tweet!

The single biggest problem in communication is the illusion that it has taken place. George Bernard Shaw The recent Atlassian Codegeist competition afforded me an opportune moment to further explore new areas of Confluence plugin development. My current contracting assignment involves heavily customising both the theme and functionality of the Confluence platform - but Codegeist offered a chance to really experiment! With the explosion of social networking applications and the rise of the flow , I decided to integrate the functionality of one of the most profilic flow tools in the netsphere, Twitter , with Confluence. Twitter + wiki = Twikkir Posing the simple question 'What are you doing now?", millions have taken to tweeting their response on Twitter to anybody who will listen. From a simple status update to a possible support circle to a tribe building ecosystem , Twitter has become another pillar of the fast-evolving web. In his blog, Rands notes: I want to ...