. Topicala Page Index Token

A Journal about the experiences I have developing little applications in C#, Perl, Html and Javascript and talking about things new things that I use. Always Geeky; Always Nerdy; Always poor Grammer!

I am a Software Analyst Developer working in Southport, England but living in Liverpool. I develop mainly in C# and ASP.Net. I have been developing comercial software for several years now. I maintain this site (hosted at SwitchMedia UK) as a way of exploring new technologies (such as AJAX) and just generally talking about techie geek issues. This site is developed through a host of Perl scripts and a liberal use of Javascript. I enjoy experimenting with new technologies and anything that I make I host here.

Quick Search

Web www.kinlan.co.uk

Monday, October 31, 2005

RE: Regex 101 Exercise S2 - Verify a string is a hex number

Eric Gunnerson Ask a Question about a simple question about Regular Expressions:

Welcome to week #2 of our class. This is a simple one:


S2 - Verify a string is a hex number


Given a string, verify that it contains only the digits 0-9 and the letters a through f (either in uppercase or lowercase).


Answer/discussion on Friday...


[Via MSDN Blogs]

My answer for this would have to be

^[A-Fa-f0-9]*$

However I know that it means that you can start a number with a 0 which may or may not be what he wants.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Related Wikipedia Documents
, , , , , ,

My Related Documents
, ,

Related Amazon Books
A Programmer's Introduction to C# 2.0: /, A Programmer's Introduction to C# (.NET Developer Series): /, Regular Expression Pocket Reference: /, Regular Expression Recipes: A Problem-Solution Approach: /, Regular Expression Recipes for Windows Developers: a Problem-solution Approach: /, Programming C#: /, Windows Forms Programming in C#: /, ASP.NET Unleashed (Unleashed S.): /, MCAD Training Guide 70-316: Developing and Implementing Windows-based Applications with C# and Visual Studio.NET: /

Related Images

What I am Doing About AJAXTag

After my experience with AJAX Tag 2 [still not finished] and the quick turn around of DeliTag I have decided to alter the purpose of AJAX Tag. AJAXTag was designed to help me give the user what related information they might want to see. Well, I have had a change of mind. I still might do that, and provide an OPML file of all the results that I collate, but I think it would also be good to let the readers of my blog explore for themselves.

That means, I will definiatly include an Interactive version of my blog which will allow the users to explore and find out extra information about a journal entry that they are looking at. Finally resulting in an OPML file that they can save and use.

This idea has been a long time in comming and is partially related to Memorandum, which Robert Scoble likes so much. I never really liked mem' that much because not all the articles interested me, and if they didn't interest me what was the point in exploring the related data around these articles. Hopefully if I provide my AJAXTagger in every entry then it I create, people who come to my site are potentially intereseted in what I write about and therfore will be more inclined to explore the relevant data around the article.

What do you think about this? paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Opml ,Oml ,Blogroll ,Dave Winer ,List Of News Aggregators ,Journal ,Idea ,Blogroll ,Ajax (programming) ,Wikipedia: Robert Scoble

Sunday, October 30, 2005

Potential Upgrades to my Blog

I have been thinking about adding complete AjaxTag Functionality to my page as a default standard. That is, at the end of every article there wiil be a section for dynamically generated data, the data will be pulled in on the fly for now. It will not be cached but I might have to think about that in the future.

The information will include realted searches, related blogs, related images, related Wikipedia articles etc. All of this will be based on the context of the journal entry.

At the end of every post you will be able to subscribe to an OPML file with all the results in, i.e An Outline all the related information about the post.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Opml ,Oml ,Blogroll ,Dave Winer ,Outliner ,Bbc News Online ,Rss (file Format)

BlinkList

Mind Valley said BlinkList was back up. No it isn't. I hope everything is okay.

RE: Blogniscient v. Memeorandum

Tech crunch has a little article about Memorandum and Blogniscient. I have tried them both, I didn't actually think they were that great.

I can tell you why I definatly won't be using them. I can't flipping spell their names when I type them out in a web browser!

Ben Ruedlinger’s Blogniscient relaunched today with a completely new look and feel. An old screenshot of the service is here.


Blogniscient is a blog news organizer that, like Memeorandum, uses a propreitary algorithm for determining what’s hot in the blogosphere at any given time. Unlike Digg, which creates news items based on user bookmarking and subsequent voting to determine front page items, Blogniscient and Memeorandum are automated.


...

[Via TechCrunch]

Technorati Tags
[feed], [feed]

RE: Del.icio.us A Like?

I have found a couple more thanks to this site: http://www.momathome.com/.

There is Shadows, Simpy, Del.icio.us and BlinkList [although the latters site is not working]. Are there any more?

I am looking for services that are similar to del.icio.us so that I can add them to my AJAX based DeliTag. I am thinking that I can upload the tags to Del.icio.us and other services in one go.




[Via C#, .Net Framework]

Technorati Tags
[feed], [feed]

My Site and The Anti-Phishing Feature

Ever since I have created DeliTag and put it on the main page I have had IE7 say that my page is a suspicous site. I think it is because I ask for a username and password, unless someone has reported me for something. Anyway, if you were wondering what I do with the Del.icio.us username and password that you put in I have created a Privacy statement for you to read. In summary, all I do is pass on your username and password as a normal web request to Del.icio.us. It is unsecured, but so is Del.icio.us so there is nothing I can do about it. I do not do any other work with it. The only other data that is processed is my website content, which belongs to me (therfore I take the inherent usage and privacy limitations that Yahoo infer when using their Webservices)

The Privacy Statement is at http://www.kinlan.co.uk/Deli/DeliPrivacy.htm which describes it better. If you have any comments let me know: paul.kinlan@gmail.com or leave a comment.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Web Service ,Ajax (programming)

Saturday, October 29, 2005

I've taken Adverts of my site in all places apart from the Entry

I was getting really annoyed/bored with the Adsense adverts on the main page. They weren't very visible and I am sure they did nothing for the site. They only place they are in now is the article just before the comments. Lets see if this makes any difference.

Technorati Tags
[feed], [feed]

I am going to put DeliTag on the main page

I really want people to see DeliTag and use it. Therefore I have also decided to put it on my main page. I will also be putting it on Tagger.Kinlan.co.uk.

For those how don't know what DeliTag is. It is an AJAX Based Mashup of a Yahoo and Del.icio.us web service. It reads in the context of a page and creates tags that you can post to Del.icio.us

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Ajax (programming) ,Web Service

Friday, October 28, 2005

Update to DeliTag

Every single page that is not the main page on my site now has the ability to post tags to Del.icio.us. It is very simple to use, you select the text that you think contains the important information about a post; click "Generate Tags"; select the tags that it returns and then click "Submit Tags". This will then submit that page with the related tags to del.icio.us. You also have to put your user name and password in.

Have a go. Click on the title of this entry to go to the Item Page and then you can go from there.

It is all AJAX Based and unfortuantly needs IE6 and above at the moment. I will make it Firefox compatible soon.

Technorati Tags
[feed], [feed], [feed], [feed]

Wikipedia Documents
Ajax (programming) ,Criticisms Of Internet Explorer ,Mozilla Firefox

Finally Got Blogger BackLinks Working

I finally got it working with thanks to /browservulsel.blogspot.com. It is a neat little article that helps get the back links working.

Technorati Tags
[feed], [feed]

Wikipedia Documents
Blogger ,Trackback ,Link

Del.icio.us A Like?

I am looking for services that are similar to del.icio.us so that I can add them to my AJAX based DeliTag. I am thinking that I can upload the tags to Del.icio.us and other services in one go.

Technorati Tags
[feed], [feed]

Thursday, October 27, 2005

Further update to my AJAX Application DeliTag

Further update to my AJAX Application DeliTag (The Delicious Tag Poster), if you select the text in the IFRAME then the software will only analyse the selected text rather than the whole page.

Technorati Tags
[feed], [feed], [feed], [feed]

Wikipedia Documents
Json ,Ajax (programming) ,Tag Cloud ,Tag

1 hour later and I have made the Delicious Automatic Tagger

I am quite pleased with myself. After 1 hour and using the Framework I have been creating for a while for the AJAX Tagger I have created a piece of software that will automatically post to Delicious the tags that are related to any page on www.kinlan.co.uk.

It only works on Kinlan.co.uk, but it you have a Delicious Account please try this and let me know if I should develop it futher.

Here are the instructions, Press "Goto", When the page has loaded press "Analyze". Once the Tags Come Back, select the ones you want and type in your Delicious username and password and then press "Submit".

The passwords are sent plain text, but this is the way Delicious does it and I don't process them because I call Delicious straight away.

IE6+ is needed and so is The Cross Domain Data Island support.

It works for anypage on my site. I will endeavour to get some support for sites outside my domain.

DeliTag

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Password ,Ajax (programming) ,Cross Site Scripting

Idea for another Program

A Del.icio.us automatic tag creating application. It will work a similar way to my Ajax Tagging Application by generating topical tags based off the content of the HTML page. Relevant topical tags can be selected and then used to upload the URL and the related tags to Del.icio.us.

I think it would be handy, how about you?

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Uniform Resource Locator ,Tag Cloud ,Tag ,Tag Soup ,Tagging ,Rss (file Format) ,Ajax (programming)

Amazon Web Service API SOAP vs REST

I have just been playing with the Amazon Web service API REST interface and I must say that it seem remarkably quicker than using the SOAP API. I am saying this without doing much testing, but when ever I did calls from C# using a Web Reference it always seemed to take a while to pull back the results, the REST API on the otherhand is far far quicker.

Thinking about it I am using two completly different systems, one was a Windows Forms application, the other is a Linux Server on an unbelivably fast network connection.

Technorati Tags
[feed], [feed], [feed], [feed]

Wikipedia Documents
Soap ,Amazon

Favorite Movies

Check out YMDB.com, it is a simple and easy to use site that allows you to list your favorite films and see who else likes what you like.

I think it would suit an AJAX Style interface because adding in titles and moving them through the lists is pretty tedious. Other than that it is good.

My Profile.

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
User Interface ,Wikipedia: Ajax

Ajax Tagger Oops

There is a little problem with the AJAX Tagger Version 2. I will be working on it later tonight when I get home. I mistakenly thought that a change that I did last night didn't need testing :)

Wednesday, October 26, 2005

Peter F. Hamiltons New Book

I was just browsing around Waterstones the other day and I saw the sequel to Peter F. Hamiltons Pandora's Star Book UK/US: Judas Unchained UK/US.

I loved Pandora's Star, it is a massive space opera (900 pages hardback)! It is about a star that is being observed and then suddenly disappears and all the ramifactions that this has on a futuristic society that is spanning many many stars.

I can't wait to get Judas Unchained, it is only about £12 on Amazon rather than £20 in Waterstones. I never knew it, but Peter F Hamilton is known for his massive space operas that cover many books.

Technorati Tags
[feed], [feed], [feed]

Tuesday, October 25, 2005

RE: C# : Where do you define an enum

I have replied again on Abhinaba's blog.

You said "I have time again seen that people point to intellisense and other editor features to justify or nullify arguments. But a editor feature can never justify design decisions. Not everyone uses VS editor. Moreover a lot of people have build systems that _do not_ use solutions and rely on make files (nmake) or "sources" "dirs" files (NTBuild). Since there is no sln/proj files for the VS editor to use, intellisense do not work and users open CS files individually to edit. This is not a corner case situation and some teams even in MS uses this approach.".

You're right, intellisense can't justify having lengthened/shortend etc Naming conventions, but neither can its use or lack of be used to justify the reverse [I think that makes sense]. I understand that you want to be as verbose as you can in as smaller an area, but I still think verbosity wins the day.

Again for your second class, you shouldn't really be ripping the enums out and using them elsewhere [this could cause unintended consequences, at least having to change the class declaration makes it explicit that you know are changing all the enum refeneces], they should be referenced in the context that they are to be used in, and thus I belive having them in the class where it is initially related is the better choice.

Obviously [and I might condraticy myself now] if you have many classes from the start that use them I agree with your point. But, if you have a file filter [specific to files] and a directory filter [specific to directories] I would keep them at class level named as filter and not at the namespace level named as FileFilter, DirectoryFilter.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Namespace ,Enum ,Enumeration ,Visual C Plus Plus

RE: OPML - Please enlighten me

Finally, someone like me who has trouble seeing what you can do with opml [see below]. I have been in the same boat, I spent three days finding resources about the type/url, xmlurl etc attributes. I had no idea what to do with them! It is not standard, but it is meant to be that way [for some reason]. I spent three days looking for common ways to define outlines but could find a consistent way that everyone uses. It appears that if you create whatever attribute you want, document it and enough people use it and recognise it, then it will become a "standard" attribute.

I have a couple of posts on http://tagger.kinlan.co.uk about this and the Javascript OPML object model I am trying to create (http://www.kinlan.co.uk/AjaxExperiments/opml.js) I use it on http://www.kinlan.co.uk/AjaxExperiments/AjaxTag2 [which isn't finished yet so it might take a bit of getting used too], I use it because based on a blog post there can be many many related links/resources/searches that a user might want to look at based on a blog entry. I though it would be handy to have an OPML file to look at instead of all the links cloging up the blog.

As for determining the file type then I am can't really help you because as far as my app is concerned it doesn't care what type it is because all it uses is links for pages and images. I need to add support for feeds.


I am not an Opml expert. This is the results of my observations of a couple Opml feeds. I fail to see how to adequately leverage Opml in the mash-up web world.

A few weeks ago, I published a demonstration for searching multiple site's entirely via the web-browser. I was illustrating the value of opening up unauthenticaed cross-domain xmlhttp requests and the opportunities that would create.

I planned to build a new demo that can "mash-up" Opml. This demo would take an XML feed (whether RSS, Atom, or Opml) and render it. For Opml lists, I wanted to expand each list item based on type. Opml files (e.g., reading lists) expansion would have been a powerful expression. Loading an Opml file would render the list. Each outline item would be rendered based on type within the page - links to other Opml lists would expand in outline format, links to Rss feeds would expand with the feed in place, links to Mp3 or videos would expand with a media player, html pages could expand with a preview of the page, and so on. This provides a foundation for a a very quick and effective newspaper page.

Developing this should have been trivial. The base code was less than a few screenfuls. However, my good intentions quickly fell apart because I discovered that Opml provides no (actually minimal) semantics to understand the items in the list without having to physically request them.

Opml apparently has a type attribute. However, this type attribute is not well defined. According to the Opml Guidelines, this merely tells you that the link is an Rss feed or something else. Something else is pretty broad. Having to request the resource to somehow determine its type is a non-starter (I am not downloading a multi-megabyte video just to know its a video). Even worse, different feeds use the url and xmlurl fields differently. I found Opml files that list each type as a "link" and then the url refers to an Rss file.  Even in the most recent post dated a week ago, Validating OPML, while the type attribute is considered required, it still appears to distinguish only between Rss and the everything else. I can't understand why isn't type just the mime-type?

I know this has been a challenge for others as I found code attempting to determine types via the file extension on the Url. This approach is very unreliable especially with the dynamic nature of many sites (Many times every file, regardless of actually mime-type, will end in extensions such as .aspx, .php, etc.).

So... I guess I don't get it. A list is interesting but without knowing what is in the list I fail to see how I can adequately leverage and "mash" it up into a greater experience.


Please enlighten me.


[Via Scott's "SiteExperts" Place]

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Opml ,Oml ,Dave Winer ,Outliner ,Wikipedia: Hypertext Transfer Protocol (http) ,Xmlhttp ,Cross Site Scripting

Monday, October 24, 2005

RE: Ping Part III: Adventures in Socket programming using System.Net

There has been another update to the ICMP ping tutorial. Still nothing on the wire yet, but this is all the important information such as check summing. Check it out it is a very good series so far.

Keep up the good work Feroze.
In this part, we will write a routine to calculate the checksum of the packet, and a routine to serialize the packet into a byte array. Recall from PartII that the request and reply packets have a particular encoding on the wire. We will have to write a routine that will encode the packet into a byte array, so that the array can be sent on the wire.

[Via MSDN Blogs]

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Ping ,Checksum ,Cyclic Redundancy Check ,Transmission Control Protocol ,Microsoft Developer Network ,C Sharp

OPML Javascript Object Model Updates

There have been some minor updates to the OPML Javascript Object Model. I have added support for an OPML Attribute which are attached to an Outline. This was done so that it is much more flexible and allows developers to add proper attribute combinations to an Outline. Furthermore, I borrowed an instanceOf method from some site (if you know the site let me know) which enforce some sort of type checking when inserting OPMLOutlineAttributes to the attribute array.

The javascript I borrowed was this:
function instanceOf(object, constructor) while (object != null) { if (object == constructor.prototype) return true; object = object.__proto__; } return false; }

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Opml ,Oml ,Dave Winer ,Outliner ,Prototype Pattern ,Constructor ,Ajax (programming) ,Xmlhttp ,Dynamic Html

RE: C# : Where do you define an enum

There is an interesting article over on Abhinaba's weblog about where you would place the declaration of the enum. I personally don't agree with his argument. He says that his ideal way of defining the placement of an enum is at the level of the class and not inside the class.

His basic argument that typing the class name infront of the enum can become a pain. I don't really care that it can be a pain, that is what intelisense is there for. Having the enum defined in the class is better in my opinion because it means that there will be fewer abiguity problems if you need to use another enum with the same name from another class. It is, in my opinion also easier to read.

Anyway, below is a snippet of his journal entry. To see what he has to say visit his blog, and see if you agree with me or not.

Email me: paul.kinlan@gmail.com

Frequently while designing classes that have methods which accept enums as parameters, a common question arrises on where to define the enum. Whether to define it inside the class or in the same level as the class.


Lets consider a class Folder which has a method List. It accepts a enum Filter and based on it prints the name of all files or directories in the Folder. We can define the enum at the same level as the Folder as below

enum Filter

{

File,

Dir

}

class Folder

{

public Folder(string path) { /* ... */ }

public void List(Filter filter) { /* ... */ }

}

Folder folder = new Folder("c:\");

folder.List(Filter.File);


Or define it inside the Folder class as in

class Folder

{

public enum Filter

{

File,

Dir

}

public Folder(string path) { /* ... */ }

public void List(Filter filter) { /* ... */ }

}

 

Folder folder = new Folder(@"c:\");

folder.List(Folder.Filter.File);

...


[Via MSDN Blogs]

Technorati Tags
[feed], [feed], [feed], [feed]

Sunday, October 23, 2005

Little problem with my Atom Feed

I had a little problem with my ATOM feed. It was truncating all the text in the description so it was looking odd. I hope this hasn't effected any of my readers. It appears to be sorted now.

Technorati Tags
[feed], [feed]

Wikipedia Documents
Rss (file Format) ,Feed ,Web Feed ,Aggregator ,Atom (standard)

RE: Ping Part II: Adventures in Socket programming using System.Net

The second part of the C# Ping Tutorial is up. At the moment it doesn't have much in the way of solid implementation, but this is a series of posts so expect more. It is quite a good post because he talks about what Ping packets look like and where they are on the communications stack.

Anyway to quote the post.
Let us start out by looking at requirements of the Ping client. Basically, the task of the tool is to find out if a specified server is alive, and on the network. The way it achieves this is by sending an echo packet to the server. The server responds with an echo response. If the server responds within a certain time interval, then we can assume that there is network connectivity from the client to the server. If it doesnt respond, then it could indicate a variety of things that could be wrong

[Via MSDN Blogs]

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Microsoft Developer Network ,C Sharp ,Icmp Echo Request ,Loopback ,Ping

Googles Blog Search is FAST at indexing

I didn't realise it until I subscribed to the results of a search in Google; Google indexes RSS feeds quickly, it was about 10 minutes or so between when I uplloaded the article to when I saw it in the results.

Are the other people out there this fast. Technorati seem to be pretty quick now, but I have to prompt them with a ping. Googles, I didn't have to do anything unless Blogger do it for you.

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Wikipedia: Search Engine ,Blogger ,Ping ,Technorati ,Tag Cloud ,Blogosphere ,Rss (file Format) ,Rss ,Really Simple Syndication

Problem with Javascript in IE7

I have been having a problem in IE7 and Internet Explorer 6, by where if you dynamically create a checkbox, set it to checked = true and then add it in to the HTML document, it loses it's checked status.

var newCheck = document.createElement('<input name=relatedSearchesChk>');
newCheck.type = "checkbox";
newCheck.onclick = updateCheckStatus;//Function to Call when clicked
newCheck.relatedUrl = currSearch.Query;//Expando String
newCheck.relatedObject = currSearch; //Expand Object
newCheck.checked = isChecked; //DOESN't WORK. isChecked is just a local Booelan Variable.
tagCell1.appendChild(newCheck);

The closest related problem on the web that I found was this thread: Java Forums - Creating a checked Checkbox through javascript. The solution in this thread works.

However I found another solution. Update the checked status after it has been added to the document. I have no idea why it works like this but it does work.

var newCheck = document.createElement(<input name=relatedSearchesChk>');
newCheck.type = "checkbox";
newCheck.onclick = updateCheckStatus;//Function to Call when clicked
newCheck.relatedUrl = currSearch.Query;//Expando String
newCheck.relatedObject = currSearch; //Expand Object
tagCell1.appendChild(newCheck);
newCheck.checked = isChecked; //WORKS

If you know why this happens I would love to know: paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Internet Explorer ,Internet Explorer Box Model Bug ,Tabbed Document Interface ,Mozilla Firefox ,Wikipedia: Check Box ,Javascript ,Ecmascript ,Wikipedia: Ajax ,Json

Friday, October 21, 2005

RE: Ajax Framework Comparison

This is a really interesting post that I need to read more into.

Matt Harrison was talking about making choices between various Ajax toolkits, frameworks, or libraries.



He linked over to the OSA foundation and their Survey of AJAX/JavaScript Libraries.



Their survey discusses:





The world of Ajax libs is an interesting one, as they cover various functionality.



We blogged about the Ajax layers in the past:





NOTE: Michael Mahemoff also collected framework information


[Via Ajaxian]

I have been doing a lot of backend work with XMLHttpRequest for my Ajax Tagger Version 2, and I am wondering if I should have bothered. I will look into some of these solutions and see what each offers.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Xml-rpc ,Remote Procedure Call ,Widget Toolkit ,Json ,Ajax (programming) ,Xmlhttp ,Javascript

Note to self

Read up about the Dojo Toolkit.

Technorati Tags
[feed]

There is a fish eye effect javascript solution over at http://dojotoolkit.org/~alex/dojo/trunk/demos/widget/Fisheye.html it looks really neat. I don't know how pratical it is but I really liked it.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Dynamic Html ,Widget Toolkit ,Wikipedia: Fisheye Lens ,Fish Eye ,Javascript

RE: PING: Adventures in Socket programming using System.Net

I always find this kind of interesting


After a long hiatus, I am back to posing to my blog. I am going to start out with a series on Socket programming.


In this series, I will show you how to implement a simple Ping client using classes from the System.Net.Sockets  namespace. It should be an exciting journey.


For starters, you can familiarize yourself with the RFC for ICMP (Internet Control Message Protocol) which is the protocol used by the PING client. The RFC for that is here: (http://www.ietf.org/rfc/rfc0792.txt).



Until next time,


Cheers.


[Via MSDN Blogs]

I always have wanted to create a ping client in .Net but never got around to it. There was no particular reason why I wanted to create a ping client, I just always thought it would be quite cool. Anyway, watch out on Feroze Daud's WebLog.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Transport Layer Security ,Berkeley Sockets ,Internet Control Message Protocol ,Icmp Echo Request ,Icmp Destination Unreachable ,Icmp Source Quench ,Ping ,Traceroute ,Network Utilities ,Microsoft .net ,Microsoft Developer Network ,C Sharp

Thursday, October 20, 2005

Page Rank

A lot of people out there are talking about Page Rank and the iminent page rank up date. I can't say that I am really bothered I have never had any and I doubt I ever will. Does it really matter that much? Email me or leave a comment if you know about it.

I personally think it is a placebo that make people think that they understand google's system, when in acutal fact it has relativly little meaning anywhere.

Maybe I am wrong though!

Technorati Tags
[feed], [feed], [feed]

Wikipedia Documents
Wikipedia: Placebo Effect ,Google ,Pagerank ,Search Engine

Wednesday, October 19, 2005

Javascript OPML Object Model Update

It has been pretty interesting designing this Object Model in Javascript for OPML. Mainly because I have found several flaws in the design that if fixed will make it a lot better to use. I discovered them because I am using the Object Model directly in AJAX Tagger version 2.0.

The basic problem is that I didn't completly understand the OPML specification and I started to implement the mini API before I knew more about it. The area that I need to extend in the object model is around the attributes of the outline element. I only thought you had a type and text, but it turns out the specification is quite loose around the attributes that you can have, but there are several well used attributes that hook up with files, links, html and rss etc. I will document them some other time.

Other than that the OPML XML that it generates seems to be good, apart from the quoting of " and the &'s :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Opml ,Oml ,Blogroll ,Dave Winer ,Outliner ,Rss (file Format) ,Rss ,Really Simple Syndication ,Javascript ,Ecmascript ,Wikipedia: Ajax ,Xml ,Application Programming Interface ,Ajax (programming)

Tuesday, October 18, 2005

OPML Javascript Object Model

The Javascript file can be found here. It is not fully complete, but a basic object model is up. I will try and document it later.

Technorati Tags
[feed], [feed], [feed]

Wikipedia Documents
Javascript ,Ecmascript ,Json ,Opml ,Blogroll ,Dave Winer ,Outliner

OPML Javascript Object.

There is one thing I have never seen. A Javascript OPML Object Model! I am just in the process of creating one for my AJAX Tagger version 2. I need the object model, because I need to create the document on the fly and then save out in a variety of ways. I also need it to be easily modifyable so that it updates in real-time as the user uses the application.

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Opml ,Dave Winer ,Outliner ,Json ,Ajax (programming) ,Document Object Model

Related Images is now in Ajax Tagger 2

Related Images is now in AJAX Tagger version 2. The Images are pulled back from Flickr and will be able to be included in the post that the user is creating. It works pretty well, other than the fact all the images might be slow to download with IE's limit on the number of concurrently open requests.

I think it is a pretty darn cool feature. Especially when it is one of the things that can help get people to your blog
Use pictures. They draw the eye. Look on Flickr or Google Images. Take what is Creative Commons, but be liberal with your link of thanks. Ask when unsure.


Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Ajax (programming) ,Flickr ,Tag Cloud ,Yahoo! 360º

Yahoo API Developer Network

I posted to the mailing list two issues over the weekend.

One about result number restriction:
Hi,
I was just reading the documentation which gives the following URL as an example:
http://api.search.yahoo.com/MyWebService/V1/relatedTags?appid=YahooDemo&tag=yahoo&results=2 It is supposed to return only two results yet all 48 are returned? Is this correct? I need to start using this API and I don't know if it will return the correct results.
Kind Regards,
Paul Kinlan

And the other about Contextual term extraction not processing results after an HTML style tag. i.e anything that has a "<" or ">" in:
Hi,
I have been playing with the contextual term extraction API, and I have noticed (well at least I think I have) that if there is a HTML tag in the text for term extraction then the term extraction API doesn't examine data after the starting tag.
For instance if I had the following text:
I have been trying to play with Blogger BackLinks, and I can say that I don't really like them. I don't really like them because people have to use them! I was expecting Blogger Backlinks to automatically link into the Google Blog search to find a list of all the blogs that link to my post. And then update my page from there.
I think what I will do is develop a version that does use them, it will fire a query off to Google and see what happens from there. I mean, after all Google Blog search allows you to do this, and export the results as RSS.

The API only seems to analyse up to and including href="xyzabc">. Anything after this in not included in the results.
Has anyone else experienced this?
Kind Regards,
Paul Kinlan
www.kinlan.co.uk


I got two replies on Monday (1 day after I posted the problem), one confirming that it is a bug that is being worked on and the other confirming that my problem has just been fixed. Way to go Yahoo! That is the way that I like to see services run. Keep up the good work.

Technorati Tags
[feed], [feed], [feed]

Wikipedia Documents
Search Algorithm ,Searching ,Application Programming Interface ,Yahoo! ,Yahoo ,Msn Search

Ajax Tagger Version 1 Update to Wikipedia Documents

Ajax Tagger Version 1 has been fixed again in the wikipedia document section. It now removes the " - Wikipedia, The Free Encyclopedia" from the results section. This means that the page is now a lot clearer and it is easier to find related wikipedia documents. It makes sense really and it totally fits around the linking policy of Wikipedia which states that at least one reference to Wikipedia be made.

Technorati Tags
[feed], [feed], [feed]

Wikipedia Documents
Ajax (programming) ,Wikipedia ,Rss (file Format)

Does anyone have any experience with BlogItemBacklinkCount

I am having trouble with Blogger's BlogItemBacklinkCount tag for BackLinks. Does it work when you are hosting the blog on your own servers? I have a feeling it doesn't, which led me to belive that none of it was automatic.

Technorati Tags
[feed], [feed], [feed], [feed]

Wikipedia Documents
Tag Cloud ,Tag ,Tagging ,Blogger ,Pyra Labs ,Backlink

Monday, October 17, 2005

For all the people that know me but I didn't get around to txting last week

We had a little baby boy on 11th October 2005 at 9:33am.
Jack Paul Francis Kinlan. 8lb 111/2oz.

Mother and Baby are doing very very very very well! And are very very cute!!!

I didn't know whether to post about it not, so I have made up my mind. We thought we would give him a quiet first week.

Technorati Tags
[feed]

Tags and Tagging

I have been thinking recently about the virtues of tagging. Using my applications andAjax Tagger I have noticed that there are not that many tags in use. Ajax Tagger 2 will give very basic statisitcal information about each suggested tag. I really don't like this situation and hopefully I can explain why.

Most people seem to use Tags for either
a) Bringing more people to their blog.
or
b) Provide more information and links to other related blogs.

I tend to use tags for option "b", because I hate going to sites and having to find my own related sites that talk about similar things. However option "a" is also good.

If you look at technorati's heat map, you will see that the top 250 tags are very broad in their scope. Books; Blogs and Blogging seem to be the most popular. Taking these tags as an example, they appear to be far too loose. Simple category names they may be; but useful they are not. Books for instance can cover millions of different blogs; I am not too sure how I am supposed to find a community based around specific subsections of books. For instance the tag "Asimov" only contains about 7 tags over the last 232 days.

Technorati's definition of a tag is:
Think of a tag as a simple category name. People can categorize their posts, photos, and links with any tag that makes sense.

but I think it should be:
Think of a tag as a simple category name. People can categorize their posts, photos and links with any tags that make sense; from highly specific topics to very broad subject areas.
The only problem with the new definition is that it is not as simple and intuative, but I think that is half the problem.

It seems to me that only Geeks like us use tagging and thus the "tag space" is very restriced and therefore over time its value will diminish. Everyone will focus on such a small subset of tags that you will need an advanced search engine to find particular sub topics. I propose that we still use these very broad tags, because I am sure some people will find them useful, but that we also use more specific tags; sub tags if you will. So if I was blogging about the "Foundation series" by Issac Asimov, I would include "Asimov" as a tag also. Over the past few months I have been trying to increase the number of tags in tag space by including relevant tags in my posts, but making them a little more away from centre.

If creating tags is too hard, try my Ajax Tagger or use a tagging service like tagyu.com. Both of these will suggest tags to use. Mine, I feel creates better suggestions off the context of the text supplied because it uses Yahoo's massive corpus of information and their Developer API's.

Do you agree with me or not? Email me: paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Virtue - Wikipedia, The Free Encyclopedia ,Isaac Asimov - Wikipedia, The Free Encyclopedia ,Three Laws Of Robotics - Wikipedia, The Free Encyclopedia ,Ajax (programming) - Wikipedia, The Free Encyclopedia ,Tag Cloud - Wikipedia, The Free Encyclopedia ,Tag - Wikipedia, The Free Encyclopedia ,Tagging - Wikipedia, The Free Encyclopedia

I don't know why, but I don't always agree with what Jacob Neilson says about useability issues. But his latest article about blog useablity is spot on the mark. I expect to implement several of his points. Especially a personal photo. I need to get my ugly mug about the Internet :)

Technorati Tags
[feed], [feed], [feed], [feed]

Wikipedia Documents
Blog - Wikipedia, The Free Encyclopedia

RE: State of the Blogosphere, October 2005 Part 1: On Blogosphere Growth

David Silfry of Technorati fame has updated his blog with a new entry about the state of the Blogosphere.
As of October 2005, Technorati is now tracking 19.6 Million weblogs The total number of weblogs tracked continues to double about every 5 months The blogosphere is now over 30 times as big as it was 3 years ago, with no signs of letup in growth About 70,000 new weblogs are created every day About a new weblog is created each second 2% - 8% of new weblogs per day are fake or spam weblogs Between 700,000 and 1.3 Million posts are made each day About 33,000 posts are created per hour, or 9.2 posts per second An additional 5.8% of posts (or about 50,000 posts/day) seen each day are from spam or fake blogs, on average

[Via Sifry's Alerts]

His entries tend to be quite informative, but are purely his [Technoratis] take on the Blogosphere. He seems to be quite encouraged with the Stats and states that the growth indications are still there.

What I would like to hear is more information about his take on the API's how Technorati plans on leading this area. My personal opinion is that Technoartia have made a great start, but there is so much they could do to add extra value to their services with regards to API's.

One of these things is to let the community know that they are taking note of feature requests! It appears that on their Wiki, they don't even confrim that certain suggestions are helpful or unhelpful or if a certain feature is a really cool idea.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Wikipedia: Weblog ,Blog - Wikipedia, The Free Encyclopedia ,Application Programming Interface - Wikipedia, The Free Encyclopedia ,Technorati - Wikipedia, The Free Encyclopedia ,Tag Cloud - Wikipedia, The Free Encyclopedia ,Link Spam - Wikipedia, The Free Encyclopedia ,Dave Winer - Wikipedia, The Free Encyclopedia

Sunday, October 16, 2005

Why I don't like Blogger BackLinks

I have been trying to play with Blogger BackLinks, and I can say that I don't really like them. I don't really like them because people have to use them! I was expecting Blogger Backlinks to automatically link into the Google Blog search to find a list of all the blogs that link to my post. And then update my page from there.

I think what I will do is develop a version that does use them, it will fire a query off to Google and see what happens from there. I mean, after all Google Blog search allows you to do this, and export the results as RSS.

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Friday, October 14, 2005

RE: Should I go with compression

Following a comment on my blog from James Manning

It should be pretty straightforward. With 2.0 there's built-in support for decompression of SOAP replies. Check out the article that got posted last year @ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/wsnetfx2.asp


[Via C#, .Net Framework]

Thanks for the comment, however unfortuantly Yahoo doesn't use SOAP to access their API's. However, it is really handy to know because it might be of use with Amazons API's which do have a SOAP interface.

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Hypothetically Speaking

Hypothetically Speaking, would you like to let readers of your blog know of up and comming events that are related to a particular entry.

If for instance you wrote about Apple Macs, would you like your readers to know of Mac Expos. Or if you write about World War 2, would you like to let your readers know of events such a commeration days?

Leave a comment, I am quite interseted in knowing :) or email me: paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wednesday, October 12, 2005

RE: Call to action: The demise of CSS hacks and broken pages

There is an interesting post over on MSDN Blogs (IEBlog) by the IE Team. It discusses that some of the CSS hacks that people have used to get around some of the issues with IE5 and IE6, wont work in IE7. They appear to be breaking changes so many peoples web pages will have to be changed to get the system working correctly. If you are a web developer and expect to target IE7, then I would recomend that you take a quick look to see if you are affected by the changes.

Here is a quick snippet of the IETeams Blog Entry.

We’re starting to see the first round of sites and pages breaking due to the CSS fixes we have made. We would like to ask your help in cleaning up existing CSS hacks in your pages for IE7. It is has been our policy since IE6 that under quirks doctype we will not make any behavioral changes so that existing pages will continue to render unmodified, but under the strict doctype we want to change behavior to be as compliant as possible with the web standards. For IE7, we introduced new CSS functionality (see Chris's blog post for the full list) and cleaned up our parser bugs. This leads now to several CSS hacks failing. If you are using IE7 (you are MSDN subscriber or received a copy at the PDC) you may notice major sites breaking due to the use of CSS hacks and the strict doctype.  


Example how easy it is to fall into the CSS hack trap


I was very happy to hear that Slashdot has their page rewritten using clean HTML 4.01 with a full complement of CSS. I immediately opened up IE7 to see how it would look like. It looked very good, but I noticed an odd behavior with their search box being moved into the footer of their page. I opened up the IE dev toolbar started to take a look, and found:

...


Call to action: Please check your pages


Here is a list of common CSS hacks to look out for (please also consider their variations):



We ask that you please update your pages to not use these CSS hacks. If you want to target IE or bypass IE, you can use conditional comments .


...


I would prefer a CSS solution too but currently there isn't one in the CSS standard.  Please help us spread the word so it is an easier decision for us in the future to make improvements to our standards implementation (even if it means breaking customers).  


Thanks,


 - Markus Mielke


[Via MSDN Blogs]

Following my post about a lack of bluetooth communications libraries for desktop style pc's. Mark Arteaga has pointed me towards 32Feet.net, which has a managed library. I have not had a chance to look at it just yet, but when I do I will let you know what it is like.

From the sample it looks pretty simple to use. Discovering devices looks like it can return an array of bluetooth accessbile systems via: BluetoothDeviceInfo[] bdi = bc.DiscoverDevices(12); (not too sure what 12 means, but it might be the maximum number of devices). All the communication appears to be stream based.

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Sunday, October 09, 2005

RE: XMLHttpRequest - Do you trust me?

Scott's "SiteExperts" Place has a pretty good conversation about cross domain security when it comes to XMLHttpRequest.


Many web applications that "mash-up" or integrate data from around the web hit the following issue: How do you request data from third party sites in a scalable and cost-effective way? Today, due to the cross-domain restrictions of xmlhttprequest, you must proxy all requests through a server in your domain. 


...

This problem arises because the xmlhttprequest object can only communicate back to the originating domain.  This restriction greatly limits the potential for building "mash-up" or rich aggregated experiences. While I understand the wisdom behind this restriction, I have begun questioning its value and am sharing some of my thoughts on this. 


...

Much of the cross-domain concern is around phishing attacks - xmlhttp can be used to request any file from another domain (e.g., html interface), While client access to this data can increase the attack vector, I do not believe the risk of this scenario outweighs the benefits.  I do not believe Phishing sites will benefit more from cross-domain access - they have been capable enough at stealing passwords by merely just copying the UI.  


...

Other's claim that cross-domain xmlhttp requests can give the client access to private data. If the cross-domain requests are restricted to the same visibility as the host page (e.g., internet sites cannot access the intranet), then the information being requested is already public.  The only potential issue is with a rogue intranet site (requesting authenticated intranet data from another intranet site), but I believe that can be handled via greater controls. Prohibiting client-side cross-domain requests does not entirely protect the user. The moment a server is involved (which means any web-site), any such client internet request can be proxied by the server.  Furthermore, there is no way to indicate to the user when the server does the proxying.


...

Also, I just want to be clear before anyone gets overly excited (especially those that may disagree with me), there are no plans that I know of to change browser security models around xmlhttprequest. These are merely my obversations.




My general opinon to this was the same as most of the comments on SiteExperts' journal. What is the problem with Cross Domain data fetching? I have been thinking about security concerns here and am not going to talk about them. My belif is that Cross Domain data fetching is more of a theft than anything else. I am using the clients bandwidth in combination with external data providers bandwidth to mitigate the costs of proxying all the request through my own servers. To be brutally honest, that is what I wanted to use third party direct connections from the client for!

What would be nice is a server security model that could be configured to say third party request can be resolved by client A and not client B etc. That is the clients software [Web Browser] doesn't say that it allows cross domain data fetching, but rather the third part says that they will allow it.

Technorati Tags
[feed], [feed], [feed], [feed]

Should I go with compression

I am debating if I should go with compression of the Yahoo Search Results from my proxy following this post [Yahoo Developer Blog Entry]. I am trying to work out if it will be A) easy, B) worth it and C) Where to put it.

I could compress the results back to the client or compress the results to the proxy and then decompress the results to the client. Either way I will have to code for some fallback support, because some people who use my App might not have compression support in their browser and thus my proxy will have to detect that.

Does anyone have any thoughts?

Technorati Tags
[feed], [feed], [feed], [feed]

"Get outta my jungle."

I have just seen over on StupidFool.org, that Latricia has updated the XML::Feed CPAN module to be able to splice RSS/ATOM feeds into one ATOM feed.

So I recently updated my XML::Feed module on CPAN to support feed format conversion and splicing, and built a simple feed splicer that takes multiple feeds, splices them together, and produces an Atom feed that contains all of her activity. It's not specific to Mena, of course--it could be used for any combination of feeds.
I'll probably be writing more about this in the future, but for fun, here's a one-liner feed splicer (requires XML::Feed 0.07 or higher):


[Via Stupidfool.org]

Now, I really like that idea. I had the same idea for AJAX Tagger 2.0. But since I haven't got to that part of the application yet I have not had time to create it. However, now if this module lives up to what it says it does I won't have to create a similar tool and I could use it pretty much straight away. :)

I was planning of exporting all the AJAX Tagger results of the feeds into one RSS/ATOM feed that can be subscribed too. I think I could accomplish something similar with OPML though.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

RE: Bluetooth Library

I have just seen this on blogs.msdn.com.

Very nice managed Bluetooth library for Windows Mobile that looks to make it extremely easy write Bluetooth apps.


[Via MSDN Blogs]

Its quite interesting, but also quite annoying. I have never ever seen a managed blue tooth library for a standard PC. I have blue tooth connected to my PC so I can connect my phones to it. Why can't I programme little apps to interact with phones/pdas etc near my PC. I want to be able to do that but I can't. Does anybody know of a managed bluetooth stack that I can use in my .Net apps?

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Saturday, October 08, 2005

AJAX Tagger 2 Question

Currently, the next version that is being created is quite complex [Ajax Tagger 2.0]. It provides the user with the ability to add a lot of extra data to a journal entry. I am just wondering if you guys would like a simple version my original Tagger [Original Ajax Tagger].

Any comments?

Technorati Tags
[feed], [feed], [feed]

Wikipedia Related Document Retrivla is in. But....

Wikipedia document retrieval is in the application now, however I have made a slight omission with the way that I have designed the application. Currently the application has a basic object model:

A Tag Group has a collection of Tags; each Tag has selected information such as Related Self Blog Entries, Related Statistics and Related Wikipedia Articles. However each of tag doesn't know or care about the information other tags contain. This is the problem, because Tag "A" doesn't know about Tag B's Related Wikipedia documents, they migh duplicate the content in the related articles section of the application. I don't want this to happen, therefore I must create a system to link tags to each other so that they can share information with each other and provide the user with a better experience.

Take a look for yourself: http://www.kinlan.co.uk/AjaxExperiments/AjaxTag2

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Next Avalon Experiment

I might as well make my AJAX Tagger in to an WinFX Application. I can then do some experimentation and the like :) Intergrate into a load of webservices and stuff :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Ping Goat is Experiencing Problems with Technorati

Over on Pingoat, he is having problems with Technorati not indexing them or any of the pings [http://www.pingoat.com/goatlog/post/index/26/Technorati-problem]. I had this problem a while back and I am still getting it over on www.tagger.com. I think it might stem from if they try to spider your site and some part of it is not responsive then they take you out of their list of "blogs which work". I am not too sure how to get it back in, unless you constantly complain in high profile places! Their response to emails is notoriously slow/non-existant.

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

A Backtrack!

Ok, it looks like all my posts seem to include the trackback style linking.

Sorry Blogger :)

Anyway, I still stand by my complaint about launching a feature with naff documentation.

Technorati Tags
[feed], [feed]

Someone is beating me to it

They have a tagger that works off what other people are talking about.

http://www.tagyu.com/

You insert your blog entry in there and then you get some tags. It is pretty neat, but mine will be neater (when it is done)! :)

Technorati Tags
[feed], [feed]

Introduce a Feature!

Blogger.com has introduced a new feature: Trackbacks. The only problem is, if you have't got one of their templates you can't enable it easily because there documentation is not completed see here: http://help.blogger.com/bin/answer.py?answer=1216

Come on Blogger, when you introduce a feature can you at least have some good, completed documentation!!

Other than that, at least your introducing new features :)

Technorati Tags
[feed], [feed], [feed]

Wednesday, October 05, 2005

Burnout Revenge!

I have just got Burnout Revenge for the XBox. I loved Burnout 3, so I thought I would try this. I think it is a vast improvement over the last game. I really like the music in it. I really like the graphics and the sense of speed. I really love the new levels and games. However, what has slightly got my goat is that the AI although very good is a bit predicatble. A case in point is that there is a level where I can exactly predict for the first 30 seconds what all the other enemy cars will do. The first car always crashes into oncoming traffic, the second two always go under the left side of the bridge, the next 3 cars always fight it out on the right side of the road. etc etc. Now there is some minor variation on where the cars might be on the road, but in general they always follow a very similar path!

Ah well you can't have it all :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Wikipedia Documents

Related Wikipedia Articles in AjaxTagger v1 is broke

I have broken support for the time being in the related Wikipedia articles of the AJAX Tagger. It is broken because I have update one of my Yahoo: Perl Proxy Scripts for version 2 of the AJAX Tagger. I will try and update the page to get it working soon :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents

Update Status of AJAX Tagger 2

It is comming along quite well. The priority queues seem to work okay. I think the number of queues and the polling interval might need to be tweaked but it is still good.

One area that is not working too well is querying the Technorati search engine about the number of Post a Tag is in. It is really slow, it takes about two seconds to perform a query. That is a bit too slow. Has anybody had any experience with this? Can you speed it up by restricting the number of blogs to return in the result?

The area that I am working on is getting the related documents results back. It works okay, but needs improving. Currently it returns a count of the number of related documents for the last search only, however it includes all the documents that it finds for all the selected tags. So I need to sort that out.

Sorry for this entry being a bit haywire, but I wanted to get it all down quickly. :) (Partly as a memory aid! ;))

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents