Hello.

I am Paul Kinlan.

I lead the Chrome and the Open Web Developer Relations team at Google.

Associative Array C# .Net

Reading time: 1 minute

A quick explanation of associative arrays in C# .NET, clarifying that they are simply hash tables. A basic code example demonstrates adding and retrieving a key-value pair. Read More

I lead the Chrome Developer Relations team at Google.

We want people to have the best experience possible on the web without having to install a native app or produce content in a walled garden.

Our team tries to make it easier for developers to build on the web by supporting every Chrome release, creating great content to support developers on web.dev, contributing to MDN, helping to improve browser compatibility, and some of the best developer tools like Lighthouse, Workbox, Squoosh to name just a few.

I love to learn about what you are building, and how I can help with Chrome or Web development in general, so if you want to chat with me directly, please feel free to book a consultation.

I'm trialing a newsletter, you can subscribe below (thank you!)

c# personal attribute to an html tag

Reading time: 2 minutes

A Visitor to my site came from google looking for "c# personal attribute to an html tag". If I understand this query correctly then the person is trying to add an attribute to an already created HTML object. However, this might not be the case, so I will include in this entry a few different ways of adding attibutes to HTML elements via C#.Firstly, I am presuming that they are using IE to view the HTML. Read More

Ajax Tagger

Reading time: 1 minute

I'm planning to dedicate more time to improving the Ajax Tagger, focusing on addressing some necessary bug fixes. Read More

Ajax Tagger is Updated

Reading time: 1 minute

The Ajax Tagger has been updated with a number of bug fixes and improvements. Key changes include using my own Tag Directory for related tags, providing Yahoo search results as RSS in OPML output, and fixing issues with menu item classes, OPML apostrophe escaping, and image selection persistence. Planned future enhancements include a Blogger interface, Kelkoo integration, addressing a cross-domain CGI request security warning, and Del.icio.us OPML integration. Read More

Thanks Digger

Reading time: 1 minute

A big thanks to the first person who Dugg my Ajax Tagger on Digg (I think it was Zoodle)! I'd love to hear your feedback on it, good or bad. Let me know what you think! :) Read More

Feedburner Are Quick

Reading time: 1 minute

I contacted Feedburner support about a full text feed issue, and received a helpful and quick response within 10 minutes. They explained that feeds are limited to 256k and suggested reducing the number of posts or post size to stay within the limit. I am very impressed by their responsiveness to public feedback. Read More

Feedburner update

Reading time: 1 minute

I've updated my site's settings to display fewer posts on the homepage, resolving a recent issue I was having with Feedburner. Read More

How to develop a CDR generator

Reading time: 2 minutes

This post details how I developed a Call Detail Record (CDR) generator for my final year project on telecoms fraud. The generator creates realistic CDRs using a simplified data model, focusing on caller, callee, call type, start time, and duration. Various user models (high, low, business, etc.) are configured with parameters like average call cost, standard deviation, and call frequency for different call types (local, national, etc.), along with likely call times. Random numbers are then generated within these parameters to create a diverse set of CDRs that accurately reflect the modeled behavior. Read More

I think I might move my blog away from Feedburner

Reading time: 1 minute

My Feedburner full text feed is currently broken and I'm unable to identify the source of the problem. This has led me to consider moving my blog away from Feedburner. Read More

Are you an UK Amazon Marketplace Seller?

Reading time: 1 minute

UK Amazon Marketplace sellers can now easily link to a searchable, indexed list of their products. Just append your Seller ID (e.g., A30C94ZTNLBKQM) to http://www.kinlan.co.uk/amazon/uk/SellerID. Currently, this only supports up to 20 products and is UK-specific, but US support is coming soon. Read More

My Tag Directory Now has Amazon Integration

Reading time: 1 minute

My tag directory has a cool new feature: Amazon product integration! It pulls book data from Amazon AWS related to each tag. Right now, it adds links to relevant products, but I'm thinking of adding images soon. This latest addition brings the total number of Web 2.0 APIs used in my mashup to four, including Delicious, Yahoo Search API, and Google Blog Search RSS. Check out the examples for tags like RDF, RSS, and Mashup to see it in action. Read More

My Tag Directory Now has Del.icio.us Integration

Reading time: 1 minute

My tag directory has been updated to incorporate Del.icio.us integration. It fetches RDF data from del.icio.us to display the most popular tagged items. Explore examples for tags like RDF and RSS using the provided links. Read More

Serializing OPML via an OPML Object Model

Reading time: 3 minutes

I've just posted the C# source code for serializing and deserializing OPML files using a simple object model. The code demonstrates basic serialization and deserialization, creating an OPML structure with a head, body, and outline elements. While the object model is functional, it's not perfect and could be refined. The example code shows how to create an OPML object, populate it with sample data, serialize it to XML, and then deserialize it back into an object, useful for anyone working with OPML in C#. Read More

Rank 0?

Reading time: 1 minute

My blog has a Technorati rank of 0 with 236 links from 22 sites. Is this the best blog ever? I hope so! Read More

Google Search: Directory explorer c#

Reading time: 1 minute

Someone searched for "directory explorer c#" and landed on my site, likely not finding what they needed. This post clarifies how to use C# for directory exploration. It covers using .NET's System.IO namespace, specifically the File and Directory classes, for tasks like checking file existence (File.Exists) and getting a list of subdirectories (Directory.GetDirectories). This information will hopefully be helpful to future visitors with similar searches. Read More

OPML .Net Object Model

Reading time: 1 minute

I'm working on a .NET object model for OPML 2.0 to easily serialize and deserialize OPML files. Serialization is working well and creates correctly formatted files thanks to constraints based on the OPML spec. Deserialization is proving tricky as the XML Deserializer isn't enforcing those same constraints, allowing incorrectly structured OPML files to be loaded. I'll share the code and continue working on it. Read More

My Tag Directory Doesn't render IE7 very well

Reading time: 1 minute

My tag directory isn't rendering properly in Internet Explorer 7 (IE7 Beta 2). I'm aware of the issue and will work on fixing compatibility problems. Read More

Something about Future additions for this site

Reading time: 1 minute

I'm working on some exciting new features for this site! First up, I'm improving the Tag Directory (more on that soon, including the source code!). Second, instead of linking directly to Amazon, I'll create landing pages with more specific info about the books I recommend. Third, I'm planning a service to advertise Amazon Marketplace books, hoping to help both you and me sell more books. Finally, I'll be writing about my final year telecoms project. Let me know what you think! Read More

Tag Directory Styled and also implements some caching

Reading time: 1 minute

I've given my tag directory a fresh look and made it faster with some caching! Check it out and tell me what you think. I'm considering integrating del.icio.us and Amazon product links, and I'd also like to auto-generate OPML feeds for each tag. Your feedback is much appreciated! Read More

I wish that Blogger had....

Reading time: 1 minute

I need a global search and replace function in Blogger so I can easily update content across all 300 pages of my blog. Currently, I have to manually edit each page, which is time-consuming. Read More