Stream

Blog Title

This is some example text that you can edit inside the TinyMCE editor.

iPhone Network Tip

If you are a user of an iPhone then you may find this little tip quite helpful. if you keep getting an annoying popup whenever you loose network saying, "No Network" and have to keep dismissing then follow these steps to disable it.

settings -> network -> automatic

iPlayer Statistics

So I have a couple of months of iPlayer use data, what to do with it?

There may be a few interesting trends starting to appear if I start to analyze them. Such as when, how often and for how long do I use the service; days of the week, times of day- that kind of thing . It should be interesting but, it would be really good if I could do some kind of mashup of the data.

I do know when I was in Wales over Christmas which I could include in a map or using the BBC Programmes data, look more into what I was actually watching. Which actors, directors do I watch the most? Which channel, radio station etc?

If the data is available- look into favourite genres, locales, and the rest of it.

Has anyone else done a similar project?

What interesting data can be pulled up here?

Talking of linked data, I intend to publish an interactive, more accurate 'My Linked Web' map soon, maybe, hopefully.

Nodes

Hello - I have created 2 seperate nodes (node1 and node2) as subdomains on dylanjones.info where I shall be experimenting with different things slighty seperate from the main site. This is mainly to try and keep everything nice and tidy. I wrote a ruby application yesterday - It said "Hello" - very complicated stuff.

Ubuntu - New Laptop

My laptop has been experiencing some difficulties recently. Not that unusual. However I do not want to loose any more work, photos, music etc so I have acquired a NEW pc from computer recycling at York University. It is running Ubuntu 9.10 and is so quite well. The rescue operation of my stuff has begun - starting with my music collection. It is actually an upgrade as the PC has a bigger hard drive, faster processor, more RAM, an extra CD drive, more USB connections, a gigabit ethernet card and more...

Signpost Website Update

Hello,

Yesterday afternoon I moved the sgnpost website over to it's new home on 000webhost. This was basically moving where the domain was- previously it just pointed at the pages but now the URL is registered on 000webhosts nameservers.

In the process I made a few bug fixes, especially some in the admin section. And added PHP includes for prehtml, head, navigation and footer. They also got moved into a folder of their own too keep out of the way. The only regret is I have is including the end head tag within the head php file as now adding extra script to a page has become more difficult. Further plans include user based login incorporated with OpenID and hopefully Facebook Connect. This is one of the main reasons for the prehtml file - to do cookies and login data etc.

Other quick fixes need to be done to css, script and things and almost all the images on site need to be re-done. That's about it for now- oh new twitter feed for them: @signpostyouth and flickr photo account coming soon too

Wiki or KB or something

I am currently sharing all my projects on my site but I would like to open it up even more and show you how I did stuff. I know I comment here on my blog when I send stuff but it will be almost impossible to find out how stuff is done and add to it. I am going to research into hosting the code somewhere safe along with some clear documentation

From My Desktop

Hello to you from my desktop!

That's correct, I'm coming to you today from not the internet, not my phone, nor some other crazy way but through a lone piece of software called 'Blog Entry Poster' It's for Linux as that's what I'm on these days. It's OK - It's a box that you can write a post in. Just what I needed really.

Website Updates include a new little 'Dylan' on the left-hand side whom appears to be talking to you! He's saying my latest Tweet / Facebook status for you - lovely.

I got an invite for Google Wave (thanks Gareth!) - with minimal numbers of people - being collaboratively creative is hard but they have given me 8 invitations to send to people so if you want one then please do ask... Expect a re-hash on the old projects section soon - I'm going to make it a little more beautiful and easy and mainly add some University content too for your pleasure.... coming soon-ish. Haven't really thought of anything yet but I'll start! So let's see what this post looks like...

NOTE: I had to edit it because it put it into loads of paragraphs and didn't have a title - That piece of software has had a short life.

J Query Fade Code

I have been looking for some jQuery that does just this simple fade between images: here

Wooooosh!

You may have noticed the reduced loading time on my homepage dyl.anjon.es -- this is due to cache.php which runs every 10 minutes getting all the bits of info from flickr, twitter, lastfm etc instead of calling them on every page load. Nice One!

Chat From Website

Have you ever wanted to talk to me from the website? No, well you can now anyway! In the top bar there is now a little speech bubble with the word 'chat' now available to everyone! Click on it and if I'm online - it will open a little web chat client and we can have real-time conversations!

New for May 2010

Welcome to May, it should be bringing lots of new and interesting things in the form of dylanjones.info

With the last blog post months ago, I begin with an apology, although I don't really mean it because I wasn't a serious blogger before. That's not to say I am now but I would like to take this particular medium more seriously.

With that in mind, I am putting together a series of posts that will be published this weekend. These will include the recent changes made to the website, the vision for the future and details on projects I have been working on recently.

So, with that in mind, keep an eye out for future posts soon

Facebook Graph - Creating a Social Web

Last week, Facebook announced some interesting things at their F8 conference. Their BIG plan for the world is to make it a more social and personalized web. With this in mind they have released a few tools to help the world.

Starting first with their big initiative, the Graph API which is the foundation of the new API.

This is a fantastically easy way to get machine readable (JSON) real-time information from FB. An example:
http://graph.facebook.com/dylanjamesvernonjones

{ "id": "512982904", "name": "Dylan Jones", "first_name": "Dylan", "last_name": "Jones", "link": "http://www.facebook.com/dylanjamesvernonjones" }

You get some basic information on me. You can delve deeper into my life by getting my news feed by calling :
http://graph.facebook.com/dylanjamesvernonjones/feed

{ "data": [ { "id": "512982904_427382302904", "from": { "name": "Dylan Jones", "id": "512982904" }, "message": "And thats the end of that chapter! (that chapter is maths by the way)", "icon": "http://photos-f.ak.fbcdn.net/photos-ak-sf2p/v43/53/146139331013/app_2_146139331013_1286.gif", "attribution": "TweetDeck for iPhone", "actions": [ { "name": "Get TweetDeck", "link": "http://www.tweetdeck.com" } ], "created_time": "2010-04-30T10:01:30+0000", "updated_time": "2010-04-30T10:01:30+0000", "likes": 2 }, { "id": "512982904_119487514744084", "from": { "name": "Dylan Jones", "id": "512982904" }, "message": "Whats that coming over the hill, is it a monster, is it a monster?", "created_time": "2010-04-29T21:14:12+0000", "updated_time": "2010-04-29T21:14:12+0000", "likes": 2 . . . . . . . . . . . .

Using OAuth 2.0 as authentication, you can get more data, if not everything you could possibly want from events, friends, likes etc. More information is available from the documentation on Facebook's Developers site.

I have already put to use this graph API to cache my public facebook messages on my database for inclusion in my live feed on this site located at: me.dylanjones.info For this I just use the json_decode() function in PHP.

Facebook also announced other things such as social plugins inluding their plan to get a 'Like' button on every page online. Some extra metadata is required for web pages to describe content to facebook, rather than using existing protocols - I did try this on dylanjones.info but it is not valid html so I removed it hastily.

More thoughts and uses for the new Facebook Platform later today.

Recipe - Nachos

Ingredients:

Crisps (Dorito style)Plate Full
Chopped Tomatoes1 Tin
CheeseQuite a lot grated
Whole Pepper1 sliced (green best)
Chilli Powder5 Pinches
  1. Heat a frying pan and add sliced pepper
  2. Add chopped tomatoes and chilli powder
  3. Keep stiring and keep on medium heat until simmering
  4. Put a covering of crisps on a plate and add the first layer of salsa
  5. Add a layer of grated cheese
  6. Keep layering in this order until ingredients have run out - crisps, salsa, cheese
  7. Place in microwave a d put on high heat for 45 seconds or until cheese has melted
  8. ENJOY YOUR NACHOS!!

Facebook Graph API - Project

I have managed to crack the OAuth thing that Facebook has taken up to authenticate web apps calling their new Graph API. I found it quite simple actually.

Before you can make restricted requests, you need to be first issued with an auth_token. To get one you need to send a request to:

https://graph.facebook.com/oauth/authorize?client_id=YOUR_APP_ID&redirect_uri=YOUR_APP_URL&scope=LIST_OF_OBJECTS

LIST_OF_OBJECTS is where you comma delimit the list of things you will want to access (ie events,photos,email etc). The call returns a code which you then use along with your secret to retrieve the auth_token

http://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_APP_URL&client_secret=YOUR_APP_SECRET&code=THE_CODE

The auth_token is then returned along with an expiry countdown in seconds. This can then be added to any API calls for which you need permission.

I have used just one PHP script to do everything. It just checks if its receiving instructions by the user to make a call as a GET variable else goes along through the authentication procedure until an auth_token is set

Feel free to test it out over at dyl.anjon.es/musicwall

CSS'ified

Visitors to DylanJones.info will have noticed colour! A long awaited feature to the site. Specifically #3399CC and yellow. As I only allow visits from compatible browsers (ie not IE), I have also added rounded borders to the two main sections of the page. This has been implemented by adding:

-moz-border-radius: 5px; -webkit-border-radius: 5px;

A nav element has also been added into the top header, currently linking to the 3 main places on the site. I am debating whether to add a more specific A-Z or Sitemap for machines to read alongside humans.

An A-Z may be best suited to go down in the global footer of the site now, along with a search bar of some kind.

The new BBC Homepage has been released today aswell.

With my tastes changing frequently, I change the look and layout of my site quite often. I am going to look into a way of archiving the image of the homepage so I have a record of all the different variants.

Stornoway

Stornoway are playing Derwent tonight courtesy of URY

URY are delighted to announce STORNOWAY as the headline act for our summer term music event.
2009 saw Stornoway win the 'Best Artist' award at BBC Radio 1's Big Weekend, play alongside the likes of Dave Grohl and Jay Z on 'Later with Jool's Holland' and receive the honour of playing Glastonbury's famous Pyramid Stage. Towards the end of 2009, Stornoway were announced as entrants onto the long list of the BBC's Sound of 2010 competition having been selected by a panel of some 165 UK-based 'tastemakers'. So not a bad year by any means.

I'm stewarding.

Bus: York to Leeds

I have taken this journey twice each working day for this last academic year (2009/10). I wondered how many miles and hours I have spent on the big blue buses.

The Map

Distances

Distance per Journey34 miles
Distance per Day68 miles
Total Distance68 miles x 5 days x 30 weeks = 10,200 miles

This total distance covered is equivalent to just under the distance between London, UK and Sydney, Australia

Cost

Cost per Bus Pass£80
Total Cost£80 x 7 = £560
Petrol Costs10200mi x 35mpg x 105p = £1391.10

Taking the bus has cost 40% of what it would have cost for fuel alone if I had a car

Time

Time per Journey70 minutes
Total Time70 mins x 2 x 30 x 5 = 14.58 days

Final percentage for you: the time I have spent on the bus is equivalent to 4% of my whole year!

HTML 5 - Drag and Drop

I am not sure who invented drag-and-drop but it has been with us I guess since the creation of the mouse. It was something that has never really made it to the world wide web, even though it is done day to day on the desktop.

HTML 5 now adds the draggable attribute allowing a simple method of getting the browser to do something when content is moved around the page. For an example, a list of things that you could move and order in preference.

I have add a little application to the front page of dylanjones.info where you can drag items from my interest bubble into a box which then displays some extra information relating to that item. This particluar example is not the best method to display added content as a click would be just as efficient but I wanted to give it a go.

The HTML for the draggable items is simply:

<span id='drag-2' descr='HTML5: I am learning about HTML5 as it comes out - it is great fun and provides lots of opportunities' draggable='true' ondrag='pickup(this)'>HTML5</span> <span id='drag-5' descr='Baking: I am very found of Bakery goods, mainly cake, cookies and sweet things' draggable='true' ondrag='pickup(this)'>Baking</span> <span id='drag-6' descr='Welsh: I lived in Wales for a long time' draggable='true' ondrag='pickup(this)'>Welsh</span> <span id='drag-8' descr='Student: I am a student' draggable='true' ondrag='pickup(this)'>Student</span>

The "dropbox" is defined as:

<div id="dropbox" ondrop="drop(this)" ondragenter="return false" ondragover="return false"> <p>drag and drop stuff from the cloud above here</p> </div>

Then javascript and jQuery does the rest:

<script type='text/javascript'> var text = 'Error: Oh Balls'; function pickup(target) { text = $(target).attr('descr'); } function drop() { $('#dropbox').html('<p>' + text + '</p>'); } </script>

Very simple indeed!

To summarise: you add draggable=true to elements you wish to drag, on drag you trigger an event, make a dropbox or use an image or something that then triggers an event ondrop - easy peasy.

Foebook

foebook.co.uk has been updated today to give people a chance to voice there opinions on whether or not Facebook is a good or bad thing

The site asks the basic question: Friend or Foe?

Users can then add any comments they wish to make which in turn, gets displayed on the site for other users to see.

Why? - I bought the domain name a while ago and put together an app that you log into, make friends, award each other points on friendly actions, take points away for un-friendly actions etc. It wasn't very good.

This small and simple device gives an open place for constructive critisism or just silly comments on what may be the biggest online threat we have ever seen.

Location Aware Facebook

If the graph API is anything to go by then it looks like Facebook will be location aware very soon

{ "id": "512982904", "name": "Dylan Jones", "first_name": "Dylan", "last_name": "Jones", "link": "http://www.facebook.com/dylanjamesvernonjones", "location": { "id": null, "name": null }, "gender": "male" }

Notice the location parameter, now a default result in the user information call.

Where are you? Geo Location in HTML 5

My latest little web application (doesn't actually really do anything yet) now finds out, as close as possible, where you are!

The Location Page will get your browser to ask for your permission to tell it where abouts you are. The spec can be found here. The piece of code I use is quite simply:

<script>
$(document).ready(function(){
var latlong;
function error(msg) {
alert(msg);
}
function success(position) {
latlong = position.coords.latitude +","+ position.coords.longitude;
$("#location").html(<img src="http://maps.google.com/maps/api/staticmap?center="+latlong+"&zoom=15&size=600x600&maptype=roadmap&sensor=false&markers=color:blue|label:A|"+latlong+"" title="You are here" alt="Map">");
}
navigator.geolocation.getCurrentPosition(success, error);
});
</script>

This piece of javascript not only requests the location from the browser but then, on success, updates the page with a static map from Google with a marker of your returned latitude and longitude.

Examples of use for this API would be local data, weather, news etc that could all take precedence on a page

Mobile Version

Introducing the mobile site

Mobile Site

A browser check (by a php function found here) is done when landing on the homepage - if you do not have a GET variable called nomobile set and you are listed as a mobile browser then you are forwarded to m.dylanjones.info where you are presented with a simple overview of most things on the main site.

Currently [31/05/2010], in beta - the page does not link anywhere except back to the full version. However, cool things will happen soon